package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 日常报销表对象 reimburse
 * 
 * @author ruoyi
 * @date 2023-10-18
 */
public class Reimburse extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 流水号 */
    @Excel(name = "流水号")
    private String rno;

    /** 发起人 */
    @Excel(name = "发起人")
    private String promoter;

    /** 报销类型:1日常报销,2出差报销 */
    @Excel(name = "报销类型:1日常报销,2出差报销")
    private String type;

    /** 报销金额 */
    @Excel(name = "报销金额")
    private BigDecimal cost;

    /** 已付金额 */
    @Excel(name = "已付金额")
    private BigDecimal costed;

    /** 发起时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发起时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;

    /** 完结时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完结时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    /** 报销状态:1申请中,2已同意,3已拒绝,4已撤销 */
    @Excel(name = "报销状态:1申请中,2已同意,3已拒绝,4已撤销")
    private String status;

    /** 备注 */
    @Excel(name = "备注")
    private String common;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setRno(String rno) 
    {
        this.rno = rno;
    }

    public String getRno() 
    {
        return rno;
    }
    public void setPromoter(String promoter) 
    {
        this.promoter = promoter;
    }

    public String getPromoter() 
    {
        return promoter;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setCost(BigDecimal cost) 
    {
        this.cost = cost;
    }

    public BigDecimal getCost() 
    {
        return cost;
    }
    public void setCosted(BigDecimal costed) 
    {
        this.costed = costed;
    }

    public BigDecimal getCosted() 
    {
        return costed;
    }
    public void setStartDate(Date startDate) 
    {
        this.startDate = startDate;
    }

    public Date getStartDate() 
    {
        return startDate;
    }
    public void setEndDate(Date endDate) 
    {
        this.endDate = endDate;
    }

    public Date getEndDate() 
    {
        return endDate;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setCommon(String common) 
    {
        this.common = common;
    }

    public String getCommon() 
    {
        return common;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("rno", getRno())
            .append("promoter", getPromoter())
            .append("type", getType())
            .append("cost", getCost())
            .append("costed", getCosted())
            .append("startDate", getStartDate())
            .append("endDate", getEndDate())
            .append("status", getStatus())
            .append("common", getCommon())
            .toString();
    }
}
